package pe.com.cruzdelsur.dao;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.SessionFactory;

import pe.com.cruzdelsur.dominio.Plantilla;
import pe.com.cruzdelsur.dominio.Solicitud;
import pe.com.cruzdelsur.dominio.UnidadVehicular;

public class UnidadVehicularDaoImpl implements UnidadVehicularDao {

	private SessionFactory sessionFactory;
	
	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
	
	@Override
	public void insertar(UnidadVehicular solicitud) {
		getSessionFactory().getCurrentSession().save(solicitud);
		
	}

	@Override
	public void actualizar(UnidadVehicular solicitud) {
		getSessionFactory().getCurrentSession().update(solicitud);
		
	}

	@Override
	public void eliminar(UnidadVehicular solicitud) {
		getSessionFactory().getCurrentSession().delete(solicitud);
		
	}

	@Override
	public Solicitud obtener(int id) {
		List list = getSessionFactory().getCurrentSession()
				.createQuery("from UnidadVehicular where unidadVehicularId=?").setParameter(0, id)
				.list();
		return (Solicitud) list.get(0);
	}

	@Override
	public List<UnidadVehicular> listar() {
		List list = getSessionFactory().getCurrentSession()
				.createQuery("from UnidadVehicular").list();
		return list;
	}

	@Override
	public UnidadVehicular buscar(UnidadVehicular uv){
		
		List list = getSessionFactory().getCurrentSession().createQuery("from UnidadVehicular where unidadVehicularId=:id").
				setParameter("id", uv.getUnidadVehicularId()).list();
	
		return (UnidadVehicular)list.get(0);
		
	}


}
